// pages/planter/myOrder.js
const app = getApp();//const 产量 不可再更改 let为变量
Page({

  /**
   * 页面的初始数据
   */
  data: {
    show : !0,
    page: 0,
    userid: wx.BaaS.storage.get('userId'),
    detailshow: !1,
    showChange: !1,
    statusMsg: ['待支付','待种植', '已种植', '初期', '中期', '完全期', '死亡','迁移'],
    updataImg: [0,0,0],
    timer : 60//一分钟 60*60*24为一天
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getTreeList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
      
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  getTreeList : function(){
    var t = this;
    var url = app.getUrl() + '/planttingTree/order';
    var data = {
      type:'getOrders',
      planterid: wx.BaaS.storage.get('userId')
    };
    app.core(url,'GET',data,function(res){
      var lists = res.data;
      t.setData({
        orderLists: lists,
        lists: app.moreLoad(lists, 15)[t.data.page],
        show: !1
      })
    })
  },
  getDetail : function(e){
    var t = this;
    var url = app.getUrl() + '/planttingTree/order';
    var data = {
      type: 'getOrders',
      orderid: e.target.dataset.id
    };
    app.core(url, 'GET', data, function (res) {
      var data = res.data[0];
      t.setData({
        orderDetail: data,
        detailshow: !0,
        growthcycle: data.growthcycle.split(',').map(Number)//先把字符串按,分割为数组 然后遍历将数组里的数字字符串转为数字
      })
    })
  },
  changeStatus: function(){
    var changeStatus = [];
    var currentStatus = parseInt(this.data.orderDetail.status);//当前状态码
    changeStatus.push(this.data.statusMsg[currentStatus]);//添加当前状态
    changeStatus.push(this.data.statusMsg[currentStatus+1]);//添加可更改状态
    if (currentStatus + 1!=6){changeStatus.push(this.data.statusMsg[6]);}//添加死亡状态
    changeStatus.push(this.data.statusMsg[7]);//添加迁移状态
    this.setData({
      showChange: !0,
      changeStatus: changeStatus,
      nowIndex: 0
    })
  },
  bindPickerChange: function(e){
    console.log(e.detail)
    this.setData({
      nowIndex: e.detail.value,
      isDie: e.detail.value == 2 ? true: false,
      isQy: e.detail.value == 3 ? true: false
    })
  },
  chooseImg : function(){
    wx.chooseImage({
      count: 3, //最多可以选择的图片张数，默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths
      }
    })
  },
  addImg: function(e){
    const t = this;
    let index = parseInt(e.target.dataset.index);
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths
        t.uploadFile(tempFilePaths, index);
      }
    })
  },
  uploadFile: function (filename, index){//上传文件
    const t = this;
    const MyFile = new wx.BaaS.File();//创建一个MyFile对象
    let fileParams = { filePath: filename[0] }//创建一个上传图片的图片集
    var metaData = {
      categoryID: '5b839ab3cf43a70b38f3e76f'
    };//创建一个要上传的文件分类 ID（知晓云后台可查）
    MyFile.upload(fileParams, metaData).then(res=>{//上传文件至知晓云
        var path = res.data.path;//获取上传成功后的图片链接
        t.data.updataImg[index] = path;
        t.setData({
          updataImg: t.data.updataImg
        })
        //t.updataStatus(path);、
    },err => {})
  },
  updataStatus: function(){//更新订单状态

    let t = this;
    let timer = this.data.timer;
    let orderid = this.data.orderDetail.id;//订单id
    
    let images = this.data.orderDetail.update_images ? JSON.parse(this.data.orderDetail.update_images) : {};//图片集
    
    let remarks = this.data.orderDetail.change_remarks ? JSON.parse(this.data.orderDetail.change_remarks) : {};
    let times = this.data.orderDetail.change_time ? JSON.parse(this.data.orderDetail.change_time) : {};
    let createTime = this.data.orderDetail.created_at; //创建时间 该时间是秒 
   
    let status = this.data.orderDetail.status;//订单状态
    var remark = this.data.ceshi || '';
    if (new Date().getTime() / 1000 -  createTime < timer * this.data.growthcycle[status - 2] * 1000) {
      wx.showToast({
        title: '时间未到',
        icon: 'none',
        duration: 2000
      })//注： new Date().getTime()获取的时间戳需要/1000 才是秒
      return;
    };
    if (status === 6 || status === 5){
      wx.showToast({
        title: '不允许更改',
        icon: 'none',
        duration: 2000
      })
      return;
    }
    if (this.data.isDie){
      status = 6;//更改订单状态(死亡)
    }
    else if(this.data.isQy){
      status = parseInt(status);
    }
    else{
      status = parseInt(status) + 1;//更改订单状态
    }
    images['status_' + status] = this.data.updataImg;//更新图片集
    times['status_' + status] = new Date().getTime();//更新时间集
    remarks['status_' + status] = remark;//更新备注集合
    var url = app.getUrl()+'/planttingTree/order';
    var data = {
      type:'changeStatus',
      update_images: JSON.stringify(images),
      change_remarks: JSON.stringify(remarks),
      change_time: JSON.stringify(times),
      status: status,
      orderid: orderid
    } 
    app.core(url,'POST',data,function(res){
      t.setSendMessage(remark);
      if(res.data === 1 ){
        app.showLog('更新成功');
      }else{
        app.showLog('更新失败');
      }
      setTimeout(function(){
        t.cancel();
        t.getTreeList();
        wx.navigateBack({
          delta: 1,
        })
      },1000)
    })
  },
  cancel: function(){
    this.setData({
      detailshow: !1,
      showChange: !1      
    })
  },
  bindTextAreaBlur: function (e) {
    this.setData({
      ceshi: e.detail.value
    })
  },    
  setSendMessage: function(remark){
    var orderDetail = this.data.orderDetail;
    var url = app.getUrl()+ '/planttingTree/member';
    var data = {
      type: 'sendMessage',
      dataMessage: remark ,
      memberid: orderDetail.memberid,
      planterid: orderDetail.planterid,
      serial_number: orderDetail.serial_number
    };
    app.core(url,'POST',data,function(res){
      if(res.data === 1){}else{
        app.showLog('发送消息失败');
      }
    })
  }
})